package fileupload;

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;

public class Server {
    public static void main(String[] args) throws IOException {
        // 步骤1：创建FileOutputStream对象，并制定图片在本地保存的名字
        FileOutputStream fos = new FileOutputStream("download.png");

        // 步骤2：创建ServerSocket对象，开始准备接收数据
        ServerSocket ss = new ServerSocket(8888);
        Socket accept = ss.accept();
        InputStream is = accept.getInputStream();
        int b;
        while ((b = is.read()) != -1) {
            // 步骤3：从网络接收到的数据，直接写到本地文件中
            // 注意这里调用write方法的是本地的FileOutputStream对象
            fos.write(b);
        }

        // 步骤4：循环结束代表文件接收完毕
        // 给客户端发送一个回信
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(accept.getOutputStream()));
        bw.write("文件上传成功");
        bw.newLine();
        bw.flush();

        // 步骤5：关闭流
        fos.close();
        bw.close();
        is.close();
        accept.close();
        ss.close();
    }
}
